function [WeiDist] = Principal_A2_n_1(Par1)
n = 50;
load W_time1_age0_eh1_comp11.out
load W_time1_age0_eh1_comp1.out
load W_time1_eh1_comp1.out
load stock_time1_age0_eh1_comp1.out
load stock_time1_eh1_comp1.out
load trans_time1_age0_eh1_comp1.out
load trans_time1_eh1_comp1.out

w_f_g=W_time1_age0_eh1_comp11; % Read wages, g and f distributions
wf_1=w_f_g(:,1);        % Wage in formal sector
wi_1=w_f_g(:,2);        % Wage in informal sector
wf_2=w_f_g(:,7);      % Wage in formal sector
wi_2=w_f_g(:,8);      % Wage in informal sector

w_mom=W_time1_age0_eh1_comp1; % Read wage moments
meanwi_1=w_mom(1); meanwf_1=w_mom(2);   meanwi_2=w_mom(3);  meanwf_2=w_mom(4);  sdwi_1=w_mom(5); sdwf_1=w_mom(6);  sdwi_2=w_mom(7);   sdwf_2=w_mom(8);
p10wi_1=w_mom(9);  p10wf_1=w_mom(10); p10wi_2=w_mom(11); p10wf_2=w_mom(12); p25wi_1=w_mom(13); p25wf_1=w_mom(14); p25wi_2=w_mom(15); p25wf_2=w_mom(16); 
p50wi_1=w_mom(17); p50wf_1=w_mom(18); p50wi_2=w_mom(19); p50wf_2=w_mom(20); p75wi_1=w_mom(21); p75wf_1=w_mom(22); p75wi_2=w_mom(23); p75wf_2=w_mom(24); 
p90wi_1=w_mom(25); p90wf_1=w_mom(26); p90wi_2=w_mom(27); p90wf_2=w_mom(28); minwi_1=w_mom(29); minwf_1=w_mom(30); minwi_2=w_mom(31); minwf_2=w_mom(32); 
maxwi_1=w_mom(33); maxwf_1=w_mom(34); maxwi_2=w_mom(35); maxwf_2=w_mom(36);
wage_moments_data=[meanwi_1; meanwf_1; sdwi_1; sdwf_1; ...
    p10wi_1; p10wf_1;  p25wi_1; p25wf_1; ...
    p50wi_1; p50wf_1;  p75wi_1; p75wf_1; ...
    p90wi_1; p90wf_1]; % guys

D_mom=trans_time1_age0_eh1_comp1; % Read transition moments
Dij=D_mom';

stock_mom=stock_time1_age0_eh1_comp1; % Read stocks
stock_ANT=stock_mom'; 
stock = [stock_ANT(1) + stock_ANT(2) + stock_ANT(3);...
    stock_ANT(4) + stock_ANT(6) + stock_ANT(7); ...
    stock_ANT(5) + stock_ANT(8) + stock_ANT(9)]; % guys

% Bootstrap variances
D_mom_boot=var(trans_time1_eh1_comp1)'; 
trans_data_boot=[D_mom_boot(3);D_mom_boot(5);D_mom_boot(1);...
    D_mom_boot(2);D_mom_boot(4);D_mom_boot(6)];  % guys

stock_mom_boot = zeros(100,3);
stock_mom_boot = [stock_time1_eh1_comp1(:,1)+stock_time1_eh1_comp1(:,2)+stock_time1_eh1_comp1(:,3),...
    stock_time1_eh1_comp1(:,4)+stock_time1_eh1_comp1(:,6)+stock_time1_eh1_comp1(:,7),...
    stock_time1_eh1_comp1(:,5)+stock_time1_eh1_comp1(:,8)+stock_time1_eh1_comp1(:,9)]; % guys
HHstates_data_boot=var(stock_mom_boot)';

w_mom_var=var(W_time1_eh1_comp1)';
meanwi_1v=w_mom_var(1); meanwf_1v=w_mom_var(2);   meanwi_2v=w_mom_var(3);  meanwf_2v=w_mom_var(4);  sdwi_1v=w_mom_var(5); sdwf_1v=w_mom_var(6);  sdwi_2v=w_mom_var(7);   sdwf_2v=w_mom_var(8);
p10wi_1v=w_mom_var(9);  p10wf_1v=w_mom_var(10); p10wi_2v=w_mom_var(11); p10wf_2v=w_mom_var(12); p25wi_1v=w_mom_var(13); p25wf_1v=w_mom_var(14); p25wi_2v=w_mom_var(15); p25wf_2v=w_mom_var(16); 
p50wi_1v=w_mom_var(17); p50wf_1v=w_mom_var(18); p50wi_2v=w_mom_var(19); p50wf_2v=w_mom_var(20); p75wi_1v=w_mom_var(21); p75wf_1v=w_mom_var(22); p75wi_2v=w_mom_var(23); p75wf_2v=w_mom_var(24); 
p90wi_1v=w_mom_var(25); p90wf_1v=w_mom_var(26); p90wi_2v=w_mom_var(27); p90wf_2v=w_mom_var(28); minwi_1v=w_mom_var(29); minwf_1v=w_mom_var(30); minwi_2v=w_mom_var(31); minwf_2v=w_mom_var(32); 
maxwi_1v=w_mom_var(33); maxwf_1v=w_mom_var(34); maxwi_2v=w_mom_var(35); maxwf_2v=w_mom_var(36);

wage_data_boot = [meanwi_1v; meanwf_1v; sdwi_1v; sdwf_1v; ...
    p10wi_1v; p10wf_1v;  p25wi_1v; p25wf_1v; ...
    p50wi_1v; p50wf_1v;  p75wi_1v; p75wf_1v; ...
    p90wi_1v; p90wf_1v]; % guys

boot_vector = [trans_data_boot; wage_data_boot; HHstates_data_boot];


% Transitions
Dnf_1	 =	Dij(1);
Dni_1	 =	Dij(2);
Dfn_1	 =	Dij(3);
Dff_1	 =	0;
Dfi_1	 =	Dij(4);
Din_1	 =	Dij(5);
Dii_1	 =	0;
Dif_1  =	Dij(6);

 
HHstates_data=stock;
Par1(11) = 10^Par1(11);
Par1(12:13)=1000*Par1(12:13);

transitions_data=[Dfn_1;Din_1;Dnf_1;Dni_1;Dfi_1;Dif_1];
 % solve dist of wage offers, value functions and simulate trajectory (MSM)
[Ff_1,ff_1,Fi_1,fi_1]=solve_wage_offer_dist(Par1,wf_1,wi_1,n);
[Wf,Wi,Wn,iterVF]=solve_value_function_A1(Par1,Ff_1,wf_1,Fi_1,wi_1,n);
if (iterVF > 400)
WeiDist = 10000000000;
else
[HHstates,wage_moments,transitions]=data_simulation_A12_end(Par1,ff_1,wf_1,fi_1,...
    wi_1,Wf,Wi,Wn);
MatCov = zeros(23);
for (i=1:23)
    MatCov(i,i) = 1/(boot_vector(i));
end
MomSim = zeros(23,1);
MomData = zeros(23,1);
MomData = [transitions_data; wage_moments_data; HHstates_data];
MomSim = [transitions; wage_moments; HHstates];
WeiDist = 20*(transpose(MomData - MomSim))*MatCov*(MomData-MomSim)
end
end
